﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;

namespace Rarous.TexyNet {

  public interface ITexyConfiguration {

    int TabWidth { get; set; }
    bool ObfuscateEmail { get; set; }
    bool MergeLines { get; set; }
    bool SingleLine { get; set; }
    bool RemoveSoftHyphens { get; set; }
    string NontextParagraph { get; set; }

    OutputMode OutputMode { get; set; }
    Tags AllowedTags { get; set; }
    Classes AllowedClasses { get; set; }
    Styles AllowedStyles { get; set; }
    Syntax AllowedSyntax { get; set; }
    Syntax DisallowedSyntax { get; set; }
    AlignClasses AlignClasses { get; set; }

    IEmoticonModule EmoticonModule { get; set; }
    IFigureModule FigureModule { get; set; }
    IHeadingModule HeadingModule { get; set; }
    IHtmlOutputModule HtmlOutputModule { get; set; }
    IImageModule ImageModule { get; set; }
    ILinkModule LinkModule { get; set; }
    ILongWordsModule LongWordsModule { get; set; }
    IScriptModule ScriptModule { get; set; }
    ITableModule TableModule { get; set; }
    ITypographyModule TypographyModule { get; set; }
  }
}
